package 蓝桥杯_2014;
/*
  标题:猜字母
    把abcd..s共19个字母组成的序列重复拼接 106 次,得到长度为 2014 的串。
    接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
    得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母
    答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。
 */
public class Test02_猜字母 {
    public static void main(String[] args) {
        // todo 创建初始19个字符串
        String str = "abcdefghijklmnopqrs";
        //System.out.println(str.length());  // 19

        // todo 利用StringBuffer存储拼接后的字符串
        StringBuffer stringBuffer = new StringBuffer();

        for (int i =0;i<106;i++){
            stringBuffer.append(str);
        }
        System.out.println(stringBuffer.length()); // 2014

        while (true){
            if (stringBuffer.length()==1) break;
            //todo
            // 按理说 i 应当是 i=+2  （0,2,4,6,8,10....） 对应奇数下标
            // 但每次删除都会减少一位，新字符串下标均会前移一位
            // 所以要少加一位
            for (int i=0;i<stringBuffer.length();i+=1) {
                stringBuffer.deleteCharAt(i);
            }
            System.out.println(stringBuffer.length());
        }

        System.out.println(stringBuffer);
    }
}

